import {ajaxUrl,G_agentUrl} from './global'
import fetch from './fetch'
import { getStore, clientType ,getCookie,setCookie ,getAppName,getAppEName,getAppID} from './mUtils'
import md5 from '../page/plugins/md5'
import AlertModule from "vux/src/plugins/alert/module";

const userAgent = navigator.userAgent.split('/')    // 浏览器参数
const reClientType = clientType();                  // 设备类型
const agentCode = '888';                            // 代理商编号
const _base = 'http://120.27.139.86:9303';          // 取题接口
let G_AjaxApi_ZB = ajaxUrl.G_AjaxApi_ZB;// 总部特训密卷题卡的接口
let G_AjaxApi_Record = ajaxUrl.G_AjaxApi_Record; // 北研的测试接口（除注册登录，获取代理商信息）
let G_AjaxApi_ZBRecord = ajaxUrl.G_AjaxApi_ZBRecord;
let G_AjaxMaiDian = ajaxUrl.G_AjaxMaiDian;//测试埋点
let G_AjaxMaiDianZongbu = ajaxUrl.G_AjaxMaiDianZongbu;//总部统计埋点接口
let G_adverApi = ajaxUrl.G_adverApi;
let G_hushiPay = ajaxUrl.G_hushiPay;
let G_manageAjaxApi = ajaxUrl.G_manageAjaxApi;//后台管理返回banner/弹窗/活动区
//新的测试域名
let G_AjaxApiShequ = ajaxUrl.G_AjaxApiShequ; // 社区化接口(最新)
let G_payAjaxApi = ajaxUrl.G_payAjaxApi; //支付接口（最新）
let G_AjaxApi_exam = ajaxUrl.G_AjaxApi_exam; // 做题（最新）
let G_AjaxApi_video = ajaxUrl.G_AjaxApi_video; // 视频（最新）
let G_AjaxApi_user = ajaxUrl.G_AjaxApi_user; // 用户（最新）
let G_AjaxApi_activity = ajaxUrl.G_AjaxApi_activity; // 活动代理商（最新）
let G_AjaxApi_getest = ajaxUrl.G_AjaxApi_getest; // 取题（最新） 

/**
 * 检验手机是否已注册
 * @param    username       用户名
 * 创建信息 ：赵梦琦 （2018-12-12）
 */
export const checkUser = (userName) =>fetch('/api/user/checkUser',{
	userName : userName
},"GET",G_AjaxApi_user)

/**
 * 登录
 * @param    username       用户名
 * @param    password       密码
 * @param    userAgent      浏览器类型
 * @param    clientType     封壳类型
 */
export const userLogin = (username, password) => fetch('/api/user/userlogin', {
    username: username,
    password: password,
    userAgent: userAgent,
    clientType: reClientType
},'POST',G_AjaxApi_user)

export const refreshVerify = () => fetch('/api/verificationCode/refreshVerifyCodeX', {
})

/**
 * 注册
 * @param    username       用户名
 * @param    password       密码
 * @param    agentCode      代理商编号
 * @param    clientType     封壳类型
 * @param    verifyCode     验证码
 * @param    safeQuetion    找回密码的问题
 * @param    safeAnswer     找回密码的答案
 */
export const register = (username, password, verifyCode) => fetch('/api/user/newRegist', {
    userName: username,
    password: md5.hex_md5(password),
    agentCode: agentCode,
    clientType: reClientType,
    verifyCode: verifyCode,
    safeQuetion: '',
    safeAnswer: ''
})

export const resetpwd = (username, password, verifyCode) => fetch('/api/user/restorePassword', {
    phone: username,
    password: md5.hex_md5(password),
    verifyCode: verifyCode
})

/**
 * 发送验证码
 * @param    username       用户名
 * @param    agentCode      代理商编号
 * @param    type           类型  [regist/forget]
 * @param    isRepeat       是否为用户点重发
 * @param    product        应用名称 [考试宝典]
 */
export const checkVerifyCode = (VerifyCode, guidCode, username, type, isRepeat) => fetch('/api/verificationCode/checkVerifyCodeX', {
    VerifyCode: VerifyCode,
    guidCode: guidCode,
    Tel: username,
    agentCode: agentCode,   
    Opt: type,
    isRepeat: 0,
    product: '考研APP'
})

/**
 * 发送验证码(基于云盾验证)
 * @param    username       用户名
 * @param    agentCode      代理商编号
 * @param    type           类型  [regist/restorePassword]
 * @param    isRepeat       是否为用户点重发
 * @param    product        应用名称 [考试宝典]
 * @param    validate       云盾参数
 * @param    captchaId      云盾参数
 */
export const sendcode = (username, type, isRepeat, validate) => fetch('/api/user/sendcode', {
    phone: username,
    agentCode: agentCode,   
    op: type,
    isRepeat: isRepeat,
    product: '考研APP',
    validate: validate,
    captchaId: '9eb25e37fcd34904914c9986b1b0e265'
})


/**
 * 获取用户个人信息
 * @param    guid       token值
 */
export const getUserInfo = () => fetch('/api/user/getUserInfo', {
    guid: localStorage.getItem('guid')
}, 'GET')

///**
// * 获取AppId
// * @param    appEName       科目名
// */
//export const getAppID = (appEName) => fetch('/api/map/appID', {
//  appEName: appEName
//}, 'GET', _base)

/**
 * 获取章节列表
 * @param    appEName       科目名
    2018考研管综真题    DZ_KYGZZT
    2018考研经综真题    DZ_KYJZZT
    2018考研数学真题    DZ_KYSXZT
    2018考研政治真题    DZ_KYZZZT
    2018考研英语真题    DZ_KYYYZT
 */
export const getChapterList = (appEName) => fetch('/api/chapterMenu/getChapterMenuX', {
    appEName: appEName
}, 'GET', _base)

/**
 * 获取收藏列表
 * @param    appEName       科目名
 * @param    guid           登录哈希值
 */
export const getFavList = (appEName, appID) => fetch('/api/exam/getUserFav', {
    appEName: appEName,
    guid: localStorage.getItem('guid')
}, 'POST', _base)

/**
 * 获取错题列表
 * @param    appEName       科目名
 * @param    guid           登录哈希值
 */
export const geterrorRankList = () => fetch('/api/exam/errorRankTest', {
    appID: localStorage.getItem('AppID'),
    guid: localStorage.getItem('guid')
}, 'GET', _base)

/**
 * 获取智能练习
 * @param    appEName       科目名
 * @param    guid           登录哈希值
 */
export const getRandomList = () => fetch('/api/tests/random', {
    appID: localStorage.getItem('AppID')
}, 'GET', _base)


/**
 * 获取代理商信息json
 * @param    AgentUrl       代理商URL
 * @param    AgentCode      代理商编号
 * 创建人：赵梦琦 （2018-12-10）
 */
export const getAgentInfoReturn = (AgentUrl,AgentCode) => fetch('/api/agentInfo/getAgentInfo', {
    AgentUrl: AgentUrl,
    AgentCode:AgentCode
}, 'POST', G_AjaxApi_activity)

/**
 * 获取科目信息
 * @param    en        科目ID
 * @param    guid      用户GUID
 * @param    options   是否需要查询班次信息
 * 创建人：赵梦琦 （2018-12-10）
 */
export const getAppsubject = (en,guid,options) => fetch('/api/app/moduleInfoX', {
    appID: en,
    agentCode:getCookie('AGENTCODE'),
    guid:guid,
    options:options
}, 'GET', G_AjaxApi_activity)

/**
 * 获取科目信息
 * @param    en        科目ID
 * @param    guid      用户GUID
 * @param    options   是否需要查询班次信息
 * 创建人：赵梦琦 （2018-12-10）
 */
export const setLastApp = (appID) => fetch('/api/user/setLastApp', {
    appID: appID,
    appVn:JSON.parse(getCookie('AppVerOperJSON')).VerNO,
    guid:localStorage.getItem('guid')
}, 'GET', G_AjaxApi_user)

/**
 * 获取 科目列表 职业类别
 * @param    en        科目ID
 * @param    guid      用户GUID
 * @param    options   是否需要查询班次信息
 * 创建人：赵梦琦 （2018-12-10）
 */
export const getOccupational = () => fetch('/api/research/getKsbClass', {
}, 'GET', G_AjaxApi_activity)


/**
 * 获取 科目列表
 * @param    KsbClassID   考试类别id
 * 创建人：赵梦琦 （2018-12-20）
 */
export const getsubjectLast = (KsbClassID) => fetch('/api/research/getKsbClassInfo', {
	KsbClassID:KsbClassID
}, 'GET', G_AjaxApi_activity)

/**
 * 获取 科目列表
 * @param    guid   guid
 * 创建人：赵梦琦 （2018-12-21）
 */
export const getVipSoft = (guid) => fetch('/api/user/vipApp/', {
	guid:guid
}, 'GET', G_AjaxApi_user)


/**
 * 获取 统计分析
 * @param    guid   guid
 * @param    appID  appID
 * 创建人：赵梦琦 （2019-110）
 */
export const getAnalysisApiX = (guid,appID) => fetch('/api/analysis/analysisApiX', {
    guid:guid,
    appID:appID
}, 'GET', G_AjaxApi_getest)


/**
 * 获取 统计分析
 * @param    guid   guid
 * @param    appID  appID
 * 创建人：赵梦琦 （2019-1-10）
 */
export const getCptStatisticsX = (guid,appID) => fetch('/api/chapterMenu/getCptStatistics', {
    guid:guid,
    appID:appID
}, 'GET', G_AjaxApi_getest)

/**
 * 获取 统计分析视频
 * @param    guid   guid
 * @param    appID  appID
 * 创建人：赵梦琦 （2019-1-10）
 */
export const getVideoProgressX = (guid,appID) => fetch('/api/video/learn/progress', {
    guid:guid,
    appID:appID,
    type:0
}, 'GET', G_AjaxApi_activity)

/**
 * 获取 获取直播间
 * @param    appEame appEName
 * 创建人：赵梦琦 （2019-1-11）
 */
export const getLiveClass = (appEName) => fetch('/api/liveclass/getLiveClass', {
    appEName:appEName
}, 'GET', G_AjaxApi_video)

/**
 * 获取 获取人机对话是否存在
 * @param    appEame appEName
 * 创建人：赵梦琦 （2019-1-11）
 */
export const  getDefaultSimulationManage  = (appEName) => fetch('/api/talkToMachine/isHasTalkNew', {
    appEName:appEName
}, 'GET', G_AjaxApi_getest)


/**
 * 获取 考前冲刺包功能点
 * @param    appEame appEName
 * 创建人：赵梦琦 （2019-1-11）
 */
export const  getSprintConfig  = (appEName) => fetch('/api/research/getSprintConfig', {
    appEName:appEName
}, 'GET', G_AjaxApi_activity)

/**
 * 获取 章节练习新旧题库
 * 创建人：赵梦琦 （2019-1-15）
 */
export const  getReplaceChapter  = () => fetch('https://yingedu-ad3.oss-cn-hangzhou.aliyuncs.com/JumpAppENames/replaceChapter.json', {
},'GET')

/**
 * 获取 章节练习分享权限科目
 * 创建人：赵梦琦 （2019-1-15）
 */
export const  getAuthorityEName  = () => fetch('https://yingedu-ad3.oss-cn-hangzhou.aliyuncs.com/JumpAppENames/openPermissionAppENames.json', {
},'GET')


/**
 * 获取 章节练习历年真题 分享数据
 * @param    appID appID
 * @param    guid  guid
 * 创建人：赵梦琦 （2019-1-15）
 */
export const  getShareChapter  = (appID,guid) => fetch('/api/chapterMenu/getShareChapter', {
    appID:appID,
    guid:guid
},'GET',G_AjaxApi_getest)

/**
 * 获取 章节练习列表数据 分享数据
 * @param    appID appID
 * @param    guid  guid
 * 创建人：赵梦琦 （2019-1-18）
 */
export const  getAllShareChapter  = (appID,guid) => fetch('/api/chapterMenu/getAllShareChapter', {
    appID:appID,
    guid:guid
},'GET',G_AjaxApi_getest)


/**
 * 获取 章节练习更新时间
 * @param    appEName appEName
 * 创建人：赵梦琦 （2019-1-15）
 */
export const  getChapterMenuUpdateTime  = (appEName) => fetch('/api/chapterMenu/getChapterMenuUpdateTimeX', {
    appEName:appEName,
},'GET',G_AjaxApi_getest)

/**
 * 获取 章节练习列表
 * @param    appEName appEName
 * 创建人：赵梦琦 （2019-1-15）
 */
export const loadChapterMenu = (appEName,moduleNew) => fetch('/api/chapterMenu/getChapterMenuX',{
    appEName:appEName,
    moduleNew:moduleNew
},'GET',G_AjaxApi_getest)

/**
 * 获取 章节练习列表
 * @param    appEName appEName
 * 创建人：赵梦琦 （2019-1-15）
 */
export const getUserTestNumApiX = (appID,cptID,guid) => fetch('/api/analysis/getUserTestNumApiX',{
    appID:appID,
    cptID:cptID,
    guid:guid
},'GET',G_AjaxApi_getest)


/**
 * 获取 客服中心的问题
 * @param
 * 创建人：赵梦琦 （2019-1-15）
 */
export const hotspotissue = () => fetch('/api/hotspotissue/list',{

},'GET',G_AjaxApi_activity)

/**
 * 获取 系统消息通知
 * @param
 * 创建人：刘淳昊 （2019-2-21）
 */
export const getSystermNews = (appID,channelID,guid,vip) => fetch('/api/notify/get',{
    appID:appID,
    channelID:channelID,
    guid:guid,
    vip:vip

},'GET',G_AjaxApi_activity)
/**
 * 获取 考生信息
 * @param
 * 创建人：刘淳昊 （2019-2-22）
 */
export const getPersonalInfo = (appID,vn) => fetch('/api/newauth/user',{
    appID:appID,
    guid:localStorage.getItem('guid'),
    vn:vn

},'GET',G_AjaxApi_user)
/**
 * 提交考生信息
 * @param
 * 创建人：刘淳昊 （2019-2-25）
 */
export const getPersonalSave = (guid,appID,vn,userName,userId) => fetch('/api/newauth/save',{
    guid: guid,
    appID: appID,
    vn: vn,
    name: userName,
    id: userId
},'POST',G_AjaxApi_user)
/**
 * 接收考生信息
 * @param
 *  guid: MBi3Ct1PDW8lxOHMUiqO5ndbMVc5ShKs1814390
 *  appID: 1552
 *  vn: 50
 *  extData: {"username":"1333123113601","vername":"专属保障协议"}
 * 创建人：刘淳昊 （2019-2-25）
 */
export const getPersonalAccept = (guid,appID,vn,userData) => fetch('/api/newauth/accept',{
    guid: guid,
    appID: appID,
    vn: vn,
    extData: userData,
},'POST',G_AjaxApi_user)












